package com.hiultra.archive.mapper;

import com.hiultra.archive.domain.ArcAlarm;
import com.hiultra.archive.domain.ArcBorrow;
import com.hiultra.archive.domain.ArcBox;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public interface ArcArchiveStatisticseMapper {
    /**
     *查询分类数组
     */
    ArrayList<String> selectTypeNameByType();

    Integer selectNumByType(String archiveType);
    /**
     * 获取密集架名称集合
     * @return
     */
    ArrayList<String> queryShelvesName();

    /**
     *获取智能柜Code
     */
    ArrayList<String> queryShelvesCode();

    /**
     *获取柜子上盒数
     */
    String  selectBoxNum(ArcBox entity);

    /**
     *获取柜子上档案数
     */
    String  selectCabinetArcarchiveNum(ArcBox entity);
    /**
     * 查询符合条件的对象集合
     */
    List<ArcBorrow> selectList();
    /**
     * 查询倒叙20条预警列表
     */
    List<Map<String,ArcAlarm>> selectListDescLimit();

    /**
     * 查询往前数的6年
     * @return
     */
    ArrayList<String> queryArchiveYear();
    //查询年
    ArrayList<Integer> queryArchiveAddNumYear(@Param("oneYear") String oneYear,@Param("lastYear") String lastYear,@Param("delflag") String delflag,@Param("isUse") String isUse);
    //查询月
    ArrayList<Integer> archiveAddNumberMouth(@Param("isUse") String isUse);
    /**
     * 查询档案数量
     */
    Integer setArchiveNum();
    /**
     * 查询盒数量
     */
    Integer setboxNum();

    Integer setboxNumCabinetStatus(String shelvesStatus);

    /**
     * 查询在馆/借出档案数量
     */
    Integer getBoxBorrowflag(String giveBackStatus);

    Integer getPerditaNum();

    List<Map<String, ArcAlarm>> selectListDescLimitTwo();
}
